import request from '@/config/axios'

// 车辆管理 VO
export interface VehicleVO {
  id: number // ID
  carrierUscc: string // 承运商统一信用代码
  carrierName: string // 承运商/车队长名称
  vehicleNo: string // 车牌号
  driverIdCardNo: string // 司机身份证号
  driverName: string // 司机名称
  driverPhone: string // 司机手机号
  vehiclePlateColor: string // 车牌颜色
  vehicleKind: string // 车辆类别
  vehicleType: string // 车辆类型
  cooType: boolean // 合作类型
  transportNo: string // 道路运输证号
  transportUrl: string // 道路运输证URL
  approveOrg: string // 核发机关
  transportIssueDate: Date // 发证日期
  vehicleLicenseFurl: string // 行驶证正面
  vehicleLicenseBurl: string // 行驶证反面
  owner: string // 所有人
  archivesNo: string // 档案编号
  useNature: string // 使用性质
  approveNum: string // 核定人数
  vin: string // 车辆识别号
  engine: string // 发动机号
  registerDate: Date // 注册日期
  issueDate: Date // 发证日期
  issueOrg: string // 发证机关
  totalWeight: number // 总重量
  curbWeight: number // 整备重量
  vehicleTonnage: number // 准牵引重量
  vehicleLen: number // 车长
  vehicleWidth: number // 车宽
  vehicleHeight: number // 车高
  energyType: string // 能源类型
  vehicleUrl: string // 车辆照片
  remark: string // 备注
  vstatus: boolean // 车辆状态
  authStatus: boolean // 审核状态
  deptId: number // 机构ID
}

// 车辆管理 API
export const VehicleApi = {
  // 查询车辆管理分页
  getVehiclePage: async (params: any) => {
    return await request.get({ url: `/base/vehicle/page`, params })
  },

  // 查询车辆管理详情
  getVehicle: async (id: number) => {
    return await request.get({ url: `/base/vehicle/get?id=` + id })
  },

  // 新增车辆管理
  createVehicle: async (data: VehicleVO) => {
    return await request.post({
      url: `/base/vehicle/create`,
      headersType: 'multipart/form-data',
      data
    })
    // return await request.post({ url: `/base/vehicle/create`, data })
  },

  // 修改车辆管理
  updateVehicle: async (data: VehicleVO) => {
    return await request.post({
      url: `/base/vehicle/update`,
      headersType: 'multipart/form-data',
      data
    })
    // return await request.put({ url: `/base/vehicle/update`, data })
  },

  // 删除车辆管理
  deleteVehicle: async (id: number) => {
    return await request.delete({ url: `/base/vehicle/delete?id=` + id })
  },

  // 批量删除车辆管理
  deleteVehicles: async (ids: string) => {
    return await request.delete({ url: `/base/vehicle/deletes?ids=` + ids })
  },

  // 导出车辆管理 Excel
  exportVehicle: async (params) => {
    return await request.download({ url: `/base/vehicle/export-excel`, params })
  }
}
